package com.zyh.scs.admin.api.entity.temporary;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author hwh
 * @ClassName: 泛微导出员工人员档案实体类临时表
 * @Description: $
 * @Date $
 * @Version 1.0
 */
@Data
@Schema(description = "泛微导出员工人员档案实体类临时表")
@TableName("scsx_temporary_psn_info")
@Accessors(chain = true)
public class TemporaryPsnInfo implements Serializable {

    /**
     * 主键ID
     */
    @Schema(description = "主键id")
    @TableId(type = IdType.AUTO, value = "id")
    private Long id;

    /**
     * 入库时间
     */
    @TableField("indb_date")
    private String indbDate;

    /**
     * 变更类型
     */
    @TableField("apply_event")
    private String applyEvent;

    /**
     * 员工标识
     */
    @TableField("psn_id")
    private String psnId;

    /**
     * 员工编码
     */
    @TableField("psn_code")
    private String psnCode;

    /**
     * 员工名称
     */
    @TableField("psn_name")
    private String psnName;

    /**
     * 姓名全拼
     */
    @TableField("psn_name_py")
    private String psnNamePy;

    /**
     * 英文名
     */
    @TableField("psn_en_name")
    private String psnEnName;

    /**
     * 性别
     */
    @TableField("sex")
    private String sex;

    /**
     * 出生日期
     */
    @TableField("birth_date")
    private String birthDate;

    /**
     * 家庭地址
     */
    @TableField("home_address")
    private String homeAddress;

    /**
     * 手机号码
     */
    @TableField("mobile")
    private String mobile;

    /**
     * 电子邮件
     */
    @TableField("email")
    private String email;

    /**
     * 办公电话
     */
    @TableField("office_phone")
    private String officePhone;

    /**
     * 参加工作日期
     */
    @TableField("join_work_date")
    private String joinWorkDate;

    /**
     * 社保核定日期
     */
    @TableField("ss_date")
    private String ssdate;

    /**
     * 社会保障号
     */
    @TableField("ss_num")
    private String ssnum;

    /**
     * 入职日期
     */
    @TableField("induty_date")
    private String indutyDate;

    /**
     * 转正日期
     */
    @TableField("regular_date")
    private String regularDate;

    /**
     * 薪资级别
     */
    @TableField("salary_level")
    private String salaryLevel;

    /**
     * 薪资等级
     */
    @TableField("salary_grade")
    private String salaryGrade;

    /**
     * 户名
     */
    @TableField("bank_name")
    private String bankName;

    /**
     * 开户行
     */
    @TableField("bank_branch")
    private String bankBranch;

    /**
     * 银行账号
     */
    @TableField("bank_no")
    private String bankNo;

    /**
     * 所属线路
     */
    @TableField("line_no")
    private String lineNo;

    /**
     * 所属站点
     */
    @TableField("station_no")
    private String stationNo;

    /**
     * 头像URL
     */
    @TableField("photo_url")
    private String photoUrl;

    /**
     * 头像缩略图URL
     */
    @TableField("photo_small_url")
    private String photoSmallUrl;

    /**
     * 层级
     */
    @TableField("psn_level")
    private String psnLevel;

    /**
     * 工作地址
     */
    @TableField("work_address")
    private String workAddress;

    /**
     * 人员排序
     */
    @TableField("psn_order")
    private String psnOrder;

    /**
     * 身份证号
     */
    @TableField("id_card")
    private String idcard;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField("modify_time")
    private Date modifyTime;

    /**
     * 日期
     */
    @TableField("pull_date")
    private Date pullDate;

    /**
     * 同步状态(1已同步 2未同步)
     */
    @TableField("pull_status")
    private String pullStatus;

    /**
     * 用户ID
     */
    @TableField("user_id")
    private String userId;

    /**
     * 是否为新增 默认为1  新增为2
     */
    @TableField("is_insert")
    private Integer isInsert;

    /**
     * 账户中心接收到泛微数据的创建时间
     */
    @Schema(description = "账户中心接收到泛微数据的创建时间")
    @TableField("master_create_time")
    private LocalDateTime masterCreateTime;
}
